As wireless communication systems evolve, wireless system design has become increasingly demanding in relation to equipment and performance requirements. Future wireless systems, which will be third generation (3G) systems and fourth generation systems compared to the first generation analog and second generation digital systems currently in use, will be required to provide high quality high transmission rate data services in addition to high quality voice services. Concurrent with the system service performance requirements will be equipment design constraints, which will strongly impact the design of mobile terminals. The third and fourth generation wireless mobile terminals will be required to be smaller, lighter, more power-efficient units that are also capable of providing the sophisticated voice and data services required of these future wireless systems.
Time-varying multi-path fading is an effect in wireless systems whereby a transmitted signal propagates along multiple paths to a receiver causing fading of the received signal due to the constructive and destructive summing of the signals at the receiver. This occurs regardless of the physical form of the transmission path, (i.e. whether the transmission path is a radio link, an optical fiber or a cable). Several methods are known for overcoming the effects of multi-path fading, such as time interleaving with error correction coding, implementing frequency diversity by utilizing spread spectrum techniques, transmitter power control techniques, and the like. Each of these techniques, however, has drawbacks in regard to use for third and fourth generation wireless systems. Time interleaving may introduce unnecessary delay, spread spectrum techniques may require large bandwidth allocation to overcome a large coherence bandwidth, and power control techniques may require higher transmitter power than is desirable for sophisticated receiver-to-transmitter feedback techniques that increase mobile station complexity. All of these drawbacks have negative impact on achieving the desired characteristics for third and fourth generation mobile terminals. Diversity is another way to overcome the effects of multi-path fading.
Antenna diversity is one type of diversity used in wireless systems. In antenna diversity, two or more physically separated antennas are used to receive a signal, which is then processed through combining and switching to generate a received signal. A drawback of diversity reception is that the physical separation required between antennas may make diversity reception impractical for use on the forward link in the new wireless systems where small mobile station size is desired.
A second technique for implementing antenna diversity is transmit (Tx) diversity. In transmit (Tx) diversity, a signal is transmitted from two or more antennas and then processed at the receiver by using maximum likelihood sequence estimator (MLSE) or minimum mean square error (MMSE) techniques. Transmit diversity has more practical application to the forward link in wireless systems in that it is easier to implement multiple antennas in the base station than in the mobile terminal. FIG. 1 is an illustration showing an example of a transmit diversity system. Transmit (Tx) diversity system 100 comprises multiple transmit antennas (Tx1 . . . Txn; n=1 to N) 110, multiple channels (h1 . . . hK) 120 where hk=αkejθk ∀k=1 to K, and receiving antenna Rx 130. Channel interference may be created by structures or other features 140 among various channel paths.
Use of Space-Time Block Code (STBC) aka Space-Time Code (STC) may be considered as diversity-creating. In space-time block code design, the essential design criteria are the achieved diversity, the rate of the code, and the delay. Diversity is characterized by the number of independently decodable channels. For full diversity, this equals the number of transmit antennas. The rate of the code is the ratio of the space-time coded transmission rate to the rate of an one-antenna transmission (i.e. the ratio of the transmission rate of the block code to transmission rate of the uncoded scheme). The delay is the length of the space-time block code frame. Depending on the underlying modulation scheme, space-time block codes may be divided into real and complex codes. Rate in the context of space-time block code may be understood as inefficiency in use of the antenna resources, leading to dilution of maximal bit-rates as compared to the inherent capacity of the underlying wireless system specifications. This inefficient use of antenna resources may give rise to fluctuating of transmit powers. Such fluctuation of transmit powers is referred to as the power-unbalance problem. Thus, the aims in the design of space-time block codes is to achieve unit rate (R=1) in order to use antenna resources as efficiently as possible. The aim of diversity is to achieve maximal diversity.
Transmit diversity for the case of two antennas (N=2) is well studied. Both open-loop and closed-loop transmit diversity methods have been under consideration for 3G Wide-band Code Division Multiple Access (WCDMA) system.
An example of an open-loop concept is provided by Alamouti, who proposed a method of transmit diversity employing two antennas that offers second order diversity for complex valued signals. (S. M. Alamouti, “A Simple Transmit Diversity Technique for Wireless Communications,” IEEE Journal on Selected Areas of Communications, vol. 16, no. 8, pp. 1451-1458, October 1998 and publication WO 99/14871 of ALAMOUTI et al. entitled “Transmitter Diversity Technique for Wireless Communication”) The Alamouti method employs two transmit antennas, has a rate R=1 and a maximum-ratio diversity-combining detector.
The method achieves effective communication by encoding symbols that comprise negations and conjugation of symbols (i.e. negation of imaginary parts) and simultaneously transmitting two signals (K=2) from two antennas (N=2) to a receiving antenna (Rx) during a symbol period (T) also referred to as a time epoch. During one symbol period (T1=t0+T), the signal transmitted from a first antenna (Tx1) is denoted by s1 and the signal transmitted from the second antenna (Tx2) is denoted by s2, where s1 and s2 are complex numbers. During the next symbol period (T2=T1+T), the signal −s2* (negation/conjugate) is transmitted from the first antenna (Tx1) and the signal s1* (conjugate) is transmitted from the second antenna (Tx2), where * is the complex conjugate operator.
TABLE 1PeriodTrans. Ant. 1 (Tx1)Trans Ant. 2 (Tx2)Receive Ant. (Rx)T1s1s2r1T2−s2* s1*r2
The baseband signals during a first interval can be written as:r1=h1s1+h2s2+n1  (1)r2=−h2s2*+h1s1*+n2*  (2)
where n1 and n2 are noise factors and let us assume impulse response coefficients, e.g. flat-fading case hi, where i=1 to K associated with the two antennas (K=2) are constant over the two-symbol time interval.
We can map the table into matrix form with the columns correspond to antennas and the row to time epochs, where the column index represents or is associates with the antenna index and the row index represents or is associated with the time index. Thus, the Alamouti Space-Time Block code (STBC)
                              C          Ala                =                                                                                                                                                                                                                                                                                                      T                                                                                                                                                              i                                                                                                                                                                                                                          m                                                                                                                                                                          e                                                                                                                          ↓                                              ⁢                                    [                                                                                          s                      1                                                                                                  s                      2                                                                                                                                  -                                              s                        2                        *                                                                                                                        s                      1                      *                                                                                  ]                                      Antenna              →                                                          (        3        )            is optimal with complex signal constellations. It reaches diversity 2, with a linear decoding scheme which yields estimates for both symbols with the two channels maximal ratio combined.
The impulse response coefficients can be represented by
            h      =              |        h              〉    =      [                                        h            1                                                            h            2                                ]  and the received signals by
            r      =              |        r              〉    =      [                                        r            1                                                            r            2                                ]  and the noise by
            n      =              |        n              〉    =            [                                                  n              1                                                                          n              2                                          ]        .  
The signal received at Rx 130 is given by:
                                                                        [                                                                                                    r                        1                                                                                                                                                r                        2                                                                                            ]                            =                                                                                                                  C                        Ala                                            ⁡                                              [                                                                                                                                            h                                ⁢                                                                                                                                  ⁢                                1                                                                                                                                                                                                        h                                ⁢                                                                                                                                  ⁢                                2                                                                                                                                    ]                                                              +                    n                                    ⇔                                |                r                                      〉                    =                                                    〈                                                      h                    i                                    |                  C                  |                                      h                    j                                                  〉                            +                        |            n                          〉                            (        4        )            or, equivalently;
                              [                                                                      r                  1                                                                                                      r                  2                  *                                                              ]                =                                                                              [                                                                                                              h                          1                                                                                                                      h                          2                                                                                                                                                              h                          2                          *                                                                                                                      -                                                      h                            1                            *                                                                                                                                ]                                ⁡                                  [                                                                                                              s                          1                                                                                                                                                              s                          2                                                                                                      ]                                            +                              [                                                                                                    n                        1                                                                                                                                                n                        2                        *                                                                                            ]                                      ⇔            r                    =                                                    H                12                            ⁢              s                        +            n                                              (        5        )            
There is interest to derive space-time codes (STC) for more than two antennas. However, extension of the Alamouti method to more than two antennas is not straightforward. Note that the channel matrix H12 in equation (5) is orthogonal, thus to decode we use:s=H12Hr  (6)
The detection is:ŝ=sign(H12Hr)=sign[(∥h1∥2+∥h2∥2)I2s+H12Hn]  (7)
The CAla matrix may be recognized as proportional to a general unitary unimodular matrix which is commonly written in the art as:
                              U          ⁡                      (                          a              ,              b                        )                          =                  [                                                    a                                            b                                                                                      -                                      b                    *                                                                                                a                  *                                                              ]                                    (        8        )            where a and b are complex numbers which satisfy the unimodular condition |a|2+|b|2=1. The orthogonality of the space-time block codes may thus be expressed as
                                          C            H                    ⁢          C                =                              ∑            i                    ⁢                                                                                      z                  i                                                            2                        ⁢            I                                              (        9        )            C is the code matrix, I is the identity matrix of the same dimension, and the superscript H is the hermitean operator (complex conjugate transpose). The maximum-ratio-combining property of the code is a direct consequence of the appearance of the sum of the symbol powers on the diagonal of the hermitean square of the code matrix.
In general, the Alamounti STBC is the Radon-Hurwitz submatrix form and is an unitary unimodular matrix given in general form by:
                              C          RH                =                  [                                                                      c                  n                                                                              c                                      n                    +                    1                                                                                                                        -                                      c                                          n                      +                      1                                        *                                                                                                c                  n                  *                                                              ]                                    (        10        )            
The mathematical work of Radon and Hurwitz in the 1920's is cited in Calderbank et al. in U.S. Pat. No. 6,088,408 issued to Calderbank et al. on Jul. 11, 2000 and in V. Tarokh, H. Jafarkhani, and A. Calderbank, “Space-Time Block Codes from Orthogonal Designs,” IEEE Transactions on Information Theory, pp. 1456-1467, July 1999, both incorporated herein by reference, showed the Hurwitz-Radon proof and showed that for more than two antennas complex orthogonal designs that achieve R=1 do not exist Calderbank et al. proposed a method using rate=1/2, and 3/4 Space-Time Block codes for transmitting on three and four antennas using complex signal constellations.
As an example, the code rate 3/4 is given by:
                                          C                          3              /              4                                ⁡                      (                                          s                1                            ,                              s                2                            ,                              s                3                                      )                          =                                         [                                                                                s                    1                                                                                        s                    2                                                                                                              s                      3                                                              2                                                                                                                                  s                      3                                                              2                                                                                                                                        -                                          s                      2                      *                                                                                                            s                    1                    *                                                                                                              s                      3                                                              2                                                                                                            -                                                                  s                        3                                                                    2                                                                                                                                                                                    s                      3                      *                                                              2                                                                                                                                  s                      3                      *                                                              2                                                                                                                                  (                                                                        s                          2                                                -                                                  s                          2                          *                                                -                                                  s                          1                                                -                                                  s                          1                          *                                                                    )                                        2                                                                                                              (                                                                        s                          1                                                -                                                  s                          1                          *                                                -                                                  s                          2                                                -                                                  s                          2                          *                                                                    )                                        2                                                                                                                                          s                      3                      *                                                              2                                                                                                            -                                                                  s                        3                        *                                                                    2                                                                                                                                                        (                                                                        s                          1                                                -                                                  s                          1                          *                                                +                                                  s                          2                                                +                                                  s                          2                          *                                                                    )                                        2                                                                                        -                                                                  (                                                                              s                            1                                                    +                                                      s                            1                            *                                                    +                          s2                          -                                                      s                            2                            *                                                                          )                                            2                                                                                            ]                                              (        11        )            
This method has a disadvantage in a loss in transmission rate and the fact that the multi-level nature of the ST coded symbols increases the peak-to-average ratio requirement of the transmitted signal and imposes stringent requirements on the linear power amplifier design. Other methods proposed include a rate (R=1), orthogonal transmit diversity (OTD)+space-time transmit diversity scheme (STTD) four antenna method.
When complex modulation is used, full diversity codes with a code rate 1 are only described in connection with two antennas in the publication WO 99/14871 Published on Mar. 25, 1999 and entitled TRANSMITTER DIVERSITY TECHNIQUE FOR WIRELESS COMMUNICATIONS and the publication Tarokh, V., Jafarkhani, H., Calderbank, A. R.: Space-Time Block Coding for Wireless Communications: Performance Results, IEEE Journal on Selected Areas In Communication, Vol. 17 pp. 451-460, March 1999, both incorporated herein by reference present a rate 1/2 code which is constructed from the full rate real code by setting the complex signals on top of the same, but conjugated signals. This way rate 1/2 codes for two to eight antennas are obtained. In the following, an example of a code for three antennas is given:
                                          C                          1              /              2                                ⁡                      (                                          s                1                            ,                              s                2                            ,                              s                3                            ,                              s                4                                      )                          →                  [                                                                      s                  1                                                                              s                  2                                                                              s                  3                                                                                                      -                                      s                    2                                                                                                s                  1                                                                              -                                      s                    4                                                                                                                        -                                      s                    3                                                                                                s                  4                                                                              s                  1                                                                                                      -                                      s                    4                                                                                                -                                      s                    3                                                                                                s                  2                                                                                                      s                  1                  *                                                                              s                  2                  *                                                                              s                  3                  *                                                                                                      -                                      s                    2                    *                                                                                                s                  1                  *                                                                              -                                      s                    1                    *                                                                                                                        -                                      s                    3                    *                                                                                                s                  4                  *                                                                              s                  1                  *                                                                                                      -                                      s                    4                    *                                                                                                -                                      s                    3                    *                                                                                                s                  2                  *                                                              ]                                    (        12        )            
where a star (*) refers to a complex conjugate. These codes are not delay-optimal.
So far, all complex space-time block codes have belonged to two categories: a group based on real codes, halving the code rate, such as the above example, or a group based on square unitary matrices.
It is desirable that ‘Open-loop diversity’ should have these four properties:                1. Full diversity in regard to the number of antennas.        2. Only linear processing is required in a transmitter and a receiver.        3. Transmission power is divided equally between the antennas.        4. The code rate efficiency is as high as possible.        
A drawback of the above solutions is that only the requirements 1 and 2 can be fulfilled. For example, the transmission power of different antennas is divided unequally, (i.e. different antennas transmit at different powers). This causes problems in the planning of output amplifiers. Furthermore, the code rate is not optimal.
For 3 and 4 antennas, this maximal rate is 3/4. Because of the inefficiency of codes with rates less than one (R<1) transmit power of a given antenna fluctuates in time; thus, presenting a power-unbalanced problem. Therefore, there is a need to provide a power-balance full-rate code. Since a decrease in rate may not acceptable, some other features of space-time block codes have to be relaxed.
For example, uncoded diversity gain may be sacrificed and rely on coding to exploit the diversity provided by additional antennas. Motorola introduced Orthogonal Transmit Diversity+Space-Time Transmit Diversity (OTD+STTD) scheme, (L. Jalloul, K. Rohani, K. Kuchi, and J. Chen, “Performance Analysis of CDMA Transmit Diversity Methods,” Proceedings of IEEE Vehicular Technology Conference, vol. 3, pp. 1326-1330 Fall 1999, hereinafter referred to as Jalloul). Jalloul states that extension of OTD to more than two antennas is straightforward; but “STTD is not directly extendable to more than two antennas, since rate one S-T block codes (STC) are non-existent for greater that 2 antennas.” They extended the two antenna STTD scheme to four transmit antennas by combining the STTD with two-branch OTD,
                                          C            STOTD                    ⁡                      (                                          s                1                            ,                              s                2                            ,                              s                3                            ,                              s                4                                      )                          =                  [                                                                      s                  1                                                                              s                  2                                                                              s                  1                                                                              s                  2                                                                                                      -                                      s                    2                    *                                                                                                s                  1                  *                                                                              -                                      s                    2                    *                                                                                                s                  1                  *                                                                                                      s                  3                                                                              s                  4                                                                              s                  3                                                                              s                  4                                                                                                      -                                      s                    4                    *                                                                                                s                  3                  *                                                                              -                                      s                    4                    *                                                                                                s                  3                  *                                                              ]                                    (        13        )            
The STOTD scheme is completely balanced and is also orthogonal, so that linear decoding gives maximal likelihood results. However, the diversity order achieved is only two, which is the same as the Alamouti STTD scheme.
Space-Time Code Design Criteria
There are three design criteria for space-time block codes, which are all formulated in terms of the codeword difference matrix Dce=Cc−Ce, where Cc and Ce are the code matrices corresponding to two distinct sets of information c and e. Minimizing the pair-wise error probability of deciding in favor of Ce when transmitting Cc leads to the following design criteria:                1. The rank criterion: The diversity gained by a multiple transmitter scheme Is:diversity=mine≠c Rank[Dce]<=min[T;N]  (14)        
To achieve maximal diversity, Dce should have full rank for all distinct code words c and e.                2. The determinant criterion: To optimize performance in a Rayleigh fading environment, Code (C) should be designed to maximizemine≠cdet′[DceHDce].  (15)        
Where the prime in the determinant indicates that zero eigenvalues should be left out from the product of eigenvalues when computing the determinant.                3. The trace criterion: To optimize performance in flat fading channels, Code (C) should be designed to maximize the Euclidean distanceTr[DceHDce].  (16)        
Moreover, to optimize performance in fading channels, the eigenvalues of DceHDce should be as close to each other as possible.
From linearity, it follows that the codeword difference matrix Dce inherits the unitarity property of the code matrix C:
                                          D            ce            H                    ⁢                      D            ce                          =                              ∑            k                    ⁢                                                                                                          z                                          k                      ,                      c                                                        -                                      z                                          k                      ,                      e                                                                                                  2                        ⁢                                          I                N                            .                                                          (        17        )            
Thus, all design criteria are fulfilled:
Rank criterion: As an unitary matrix, Dce is full rank for all distinct code word pairs. Thus, all space-time block codes give full diversity, equaling the number of Tx antennas.
Determinant criterion: As Dce is unitary,
                              det          ⁢                                                                D                ce                H                            ⁢                              D                ce                                                                =                              ∑            k                    ⁢                                                                                    z                                      k                    ,                    c                                                  -                                  z                                      k                    ,                    e                                                                                                    2              ⁢              N                                                          (        18        )            
This is the maximum given a fixed transmit power.
Trace criterion: As Dce is unitary,
      Tr    ⁢                                  D          ce          H                ⁢                  D          ce                            =      N    ⁢                  ∑        k            ⁢                                                                              z                                  k                  ,                  c                                            -                              z                                  k                  ,                  e                                                                          2                .            This is the maximum given a fixed transmit power. Moreover, all eigenvalues are the same.
Thus, there is a need for a design which provides full, diversity, full rate and power-balanced space-time codes.